package com.zuser.project.entity;


import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单账单表
 * 
 * @author zuser
 * @email 2076033693@gmail.com
 * @date 2025-04-01 15:45:34
 */
@Data
@TableName("order_bill")
public class OrderBillEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 主键
	 */
	@TableId
	private Long id;
	/**
	 * 订单ID
	 */
	private Long orderId;
	/**
	 * 费用规则id
	 */
	private String feeRuleId;
	/**
	 * 总金额
	 */
	private BigDecimal totalAmount;
	/**
	 * 应付款金额
	 */
	private BigDecimal payAmount;
	/**
	 * 里程费
	 */
	private BigDecimal distanceFee;
	/**
	 * 等时费用
	 */
	private BigDecimal waitFee;
	/**
	 * 远程费
	 */
	private BigDecimal longDistanceFee;
	/**
	 * 路桥费
	 */
	private BigDecimal tollFee;
	/**
	 * 停车费
	 */
	private BigDecimal parkingFee;
	/**
	 * 其他费用
	 */
	private BigDecimal otherFee;
	/**
	 * 顾客好处费
	 */
	private BigDecimal favourFee;
	/**
	 * 系统奖励费
	 */
	private BigDecimal rewardFee;
	/**
	 * 系统奖励规则id
	 */
	private Long rewardRuleId;
	/**
	 * 优惠券金额
	 */
	private BigDecimal couponAmount;
	/**
	 * 基础里程（公里）
	 */
	private Integer baseDistance;
	/**
	 * 基础里程费
	 */
	private BigDecimal baseDistanceFee;
	/**
	 * 超出基础里程的里程（公里）
	 */
	private String exceedDistance;
	/**
	 * 超出基础里程的价格
	 */
	private BigDecimal exceedDistancePrice;
	/**
	 * 基础等时分钟
	 */
	private Integer baseWaitMinute;
	/**
	 * 超出基础等时的分钟
	 */
	private Integer exceedWaitMinute;
	/**
	 * 超出基础分钟的价格
	 */
	private BigDecimal exceedWaitMinutePrice;
	/**
	 * 基础远途里程（公里）
	 */
	private Integer baseLongDistance;
	/**
	 * 超出基础远程里程的里程
	 */
	private BigDecimal exceedLongDistance;
	/**
	 * 超出基础远程里程的价格
	 */
	private BigDecimal exceedLongDistancePrice;
	/**
	 * 创建时间
	 */
	@TableField(fill = FieldFill.INSERT)
	private Date createTime;
	/**
	 * 
	 */
	@TableField(fill = FieldFill.INSERT_UPDATE)
	private Date updateTime;
	/**
	 * 
	 */
	private Integer isDeleted;

}
